Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#286 - fix hang when >1 Camomile LV2 plugin is loaded on Linux #295

Conversation

hyperpenelope
Copy link
Contributor

This issue was ultimately caused by an object buried in the JUCE code having an inappropriate scope - GCC made the object a "unique global symbol", which means there is only one instance across the current process. When multiple plugins were loaded, they all shared this instance, but did not share other relevant objects (from the JUCE code), causing havoc. See #286 for al the gory details.

The fix is to ban the compiler from marking symbols as "unique global".

Also set the C++ standard to be C++20 for the Camomile_LV2 meta-plugin, in line with the other meta-plugins.

hyperpenelope and others added 5 commits January 15, 2022 14:09
…ript

Two improvements:
* All uses of the `-r` option have been changed to `-R` because this is
  portable across Linux and OSX.
* When copying the contents of the plugin dir to the build dir, specify
  `-L` so that the user can have symbolic links in the plugin dir
  pointing to patches stored elsewhere. With `-L`, the patches will be
  copied, not the links.
…erence-symlinks-when-copying

Improve the behaviour of cp commands in camomile plugin generation script
…ult-saving-presets

makePresetsFile(): plugin parameters should be indexed by j, not i
…ierreguillot#286)

This issue was ultimately caused by an object buried in the JUCE code having
an inappropriate scope - GCC made the object a "unique global symbol", which
means there is only one instance across the current process.
When multiple plugins were loaded, they all shared this instance, but did
not share other relevant objects (from the JUCE code), causing havoc.
The fix is to ban GCC from marking symbols as "unique global".

Also set the C++ standard to be C++20 for the Camomile_LV2 meta-plugin, in
line with the other meta-plugins.
@hyperpenelope hyperpenelope force-pushed the dev/daw-hangs-when-loading-multiple-lv2-plugins branch from dd9aa30 to 27a4a14 Compare August 9, 2022 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants